home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / Dots & Pixels / headers / recorder.h < prev    next >
C/C++ Source or Header  |  1995-09-29  |  2KB  |  68 lines

  1. #pragma once
  2.  
  3. class recorder: public general
  4. {
  5.     //
  6.     // Some QuickTime 2.0 compression methods:
  7.     // 'rle '    run-length encoding = Apple animation
  8.     // 'smc '    Sean's secret recipe = Apple graphics, good for 8-bit images
  9.     // 'jpeg'    JPEG
  10.     // 'rpza'    Apple video
  11.     // 'raw '    no compression, unsupported by recorder 'StartSequence' and 'EndSequence'?
  12.     // 'cvid'    CinePak, formerly called compact video
  13.     // 'kpcd'    Kodak photo CD? (decompressor only?)
  14.     // 'yuv2'    Y-U-V 4:2:2 encoding
  15.     //
  16.     // Some third-party compression methods:
  17.     //
  18.     // 'WRAW'    Windows raw
  19.     // 'WRLE'    Windows run-length encoding
  20.     // 'msvc'    Micosoft Video compression
  21.     // 'font'    Courier
  22.     //
  23.     public:
  24.         recorder( char *filename,
  25.             gworld *theWorld,                        // defines size of movie
  26.             long framerate             = 20,
  27.             long compressiontype       = 'smc ',
  28.             int  keyframedistance      = 0,            // 0 implies no frame differencing
  29.             long compressionquality    = 0x100,        // 0x100 thru 0x300 allowed
  30.             long temporalquality       = 0x100
  31.         );
  32.  
  33.         ~recorder();
  34.     
  35.         void StartSequence();
  36.         void EndSequence();
  37.         void AddFrame( TimeValue duration = (TimeValue) 1);
  38.  
  39.     private:
  40.         FSSpec            myFSSpec;
  41.         Movie            myMovie;
  42.         Track            myTrack;
  43.         Media            myMedia;
  44.         TimeValue        sampTime;
  45.         ImageSequence    mySequence;
  46.         
  47.         int                sequence_running;
  48.         
  49.         long            maxCompressedFrameSize;
  50.         
  51.         ImageDescriptionHandle myImageDescriptionHandle;
  52.         Handle            myFrameBitsHandle;
  53.  
  54.         short            myResFileNo;
  55.         
  56.         gworld            *myworld;
  57.         PixMapPtr         thepix;
  58.         
  59.         long    myframerate;
  60.         long    mycompressiontype;
  61.         long    mycompressionquality;
  62.         long    mytemporalquality;
  63.         int        mykeyframedistance;
  64.  
  65.         Rect    movieFrame;
  66.         int     movieDepth;
  67. };
  68.